package com.moody.hibernate.domain;

/**
 * ReportListId entity. @author MyEclipse Persistence Tools
 */

public class ReportListId implements java.io.Serializable {

	// Fields

	private String custId;
	private String accountMonth;
	private String reportScope;

	// Constructors

	/** default constructor */
	public ReportListId() {
	}

	/** full constructor */
	public ReportListId(String custId, String accountMonth, String reportScope) {
		this.custId = custId;
		this.accountMonth = accountMonth;
		this.reportScope = reportScope;
	}

	// Property accessors

	public String getCustId() {
		return this.custId;
	}

	public void setCustId(String custId) {
		this.custId = custId;
	}

	public String getAccountMonth() {
		return this.accountMonth;
	}

	public void setAccountMonth(String accountMonth) {
		this.accountMonth = accountMonth;
	}

	public String getReportScope() {
		return this.reportScope;
	}

	public void setReportScope(String reportScope) {
		this.reportScope = reportScope;
	}

	public boolean equals(Object other) {
		if ((this == other))
			return true;
		if ((other == null))
			return false;
		if (!(other instanceof ReportListId))
			return false;
		ReportListId castOther = (ReportListId) other;

		return ((this.getCustId() == castOther.getCustId()) || (this
				.getCustId() != null
				&& castOther.getCustId() != null && this.getCustId().equals(
				castOther.getCustId())))
				&& ((this.getAccountMonth() == castOther.getAccountMonth()) || (this
						.getAccountMonth() != null
						&& castOther.getAccountMonth() != null && this
						.getAccountMonth().equals(castOther.getAccountMonth())))
				&& ((this.getReportScope() == castOther.getReportScope()) || (this
						.getReportScope() != null
						&& castOther.getReportScope() != null && this
						.getReportScope().equals(castOther.getReportScope())));
	}

	public int hashCode() {
		int result = 17;

		result = 37 * result
				+ (getCustId() == null ? 0 : this.getCustId().hashCode());
		result = 37
				* result
				+ (getAccountMonth() == null ? 0 : this.getAccountMonth()
						.hashCode());
		result = 37
				* result
				+ (getReportScope() == null ? 0 : this.getReportScope()
						.hashCode());
		return result;
	}

}